#!/usr/bin/env.python
# _*_ coding:utf-8 _*_
# # # # # # # # # # # # # # # # # # # #
#  题目:      邮件发送异步任务           #
#  姓名:         李吉辉                #
#  时间:    2018年12月24日21:31:13     #
# # # # # # # # # # # # # # # # # # # #

# 用来写要进行异步任务的代码(异步代码)
"""注意点:  不要和其它环境有关联, 需要的包就直接复制拿过来单独使用"""
from celery_tasks.main import celery_app
from django.core.mail import send_mail
from django.conf import settings  # 这里注意: 直接调是无法使用的,里面数据为空, 因为manage和celery启动不是一个配置下,所以需要在main中加上配置路径属性

# 传递的send_verify_email没有实际意义只是给celery任务起了一个别名
@celery_app.task(name='send_verify_email')  # 把下面的函数装饰为celery的任务,这才能把函数变为异步任务
def send_verify_email(to_email, verify_url):  # 这里只是个普通的函数
    """异步发邮件"""
    # 主题
    subject = "美多商城邮箱验证"
    # HTML文本内容
    html_message = '<p>尊敬的用户您好！</p>' \
                   '<p>感谢您使用美多商城。</p>' \
                   '<p>您的邮箱为：%s 。请点击此链接激活您的邮箱：</p>' \
                   '<p><a href="%s">%s<a></p>' % (to_email, verify_url, verify_url)
    # 调用Django提供的发送邮件函数并赋值
    send_mail(subject, "", settings.EMAIL_FROM, [to_email], html_message=html_message)
